#ifndef SPRITE2D_H
#define SPRITE2D_H

#include <string>
#include "Node.h"
#include "gl/Shader.h"
#include "gl/Texture2D.h"
#include "gl/Mesh.h"

class Sprite2D : public Node
{
private:
    /* data */
    static Shader *_shader2D;
    static Mesh *_meshQuad;

    Texture2D *_texture;
    void _update();

public:
    Sprite2D(/* args */);
    Sprite2D(const std::string path);
    Sprite2D(Texture2D *texture);
    ~Sprite2D();

    void setTexture(const std::string path);
    void setTexture(Texture2D *texture);
    void render() override;
};

#endif